# Copyright (c) Microsoft. All rights reserved.

from typing import Literal, get_args

KERNEL_TEMPLATE_FORMAT_NAME_TYPE = Literal["semantic-kernel"]
KERNEL_TEMPLATE_FORMAT_NAME: KERNEL_TEMPLATE_FORMAT_NAME_TYPE = get_args(KERNEL_TEMPLATE_FORMAT_NAME_TYPE)[0]
HANDLEBARS_TEMPLATE_FORMAT_NAME_TYPE = Literal["handlebars"]
HANDLEBARS_TEMPLATE_FORMAT_NAME: HANDLEBARS_TEMPLATE_FORMAT_NAME_TYPE = get_args(HANDLEBARS_TEMPLATE_FORMAT_NAME_TYPE)[
    0
]
JINJA2_TEMPLATE_FORMAT_NAME_TYPE = Literal["jinja2"]
JINJA2_TEMPLATE_FORMAT_NAME: JINJA2_TEMPLATE_FORMAT_NAME_TYPE = get_args(JINJA2_TEMPLATE_FORMAT_NAME_TYPE)[0]

TEMPLATE_FORMAT_TYPES = Literal[
    KERNEL_TEMPLATE_FORMAT_NAME_TYPE, HANDLEBARS_TEMPLATE_FORMAT_NAME_TYPE, JINJA2_TEMPLATE_FORMAT_NAME_TYPE
]
